package router

import (
	beego "github.com/beego/beego/v2/server/web"
	web "ksd-social-api/modules/resume/controller"
)

type ResumeRouter struct {
}

/**
 * @author feige
 * @date 2023-10-14
 * @version 1.0
 * @desc 需要登录路由
 */
func (router *ResumeRouter) InitRouter() beego.LinkNamespace {
	// 用户中心--子命名空间
	namespace := beego.NSNamespace("/cresume",
		beego.NSCtrlPost("list", (*web.ResumeController).FindResumeByUserId),
		beego.NSCtrlPost("saveupdate", (*web.ResumeController).SaveUpdateResume),
		beego.NSCtrlPost("update/file", (*web.ResumeController).UpdateResumeNewFile),
		beego.NSCtrlPost("update/status", (*web.ResumeController).UpdateStatus),
		beego.NSCtrlPost("get/:resumeId", (*web.ResumeController).GetResumeId),
		beego.NSCtrlPost("getfile/:resumeId", (*web.ResumeController).GetResumeNewFile),
		// 简历兑换码
		beego.NSCtrlPost("code/dh", (*web.ResumeCodeController).DuihuanResume),
		// 学习币兑换
		beego.NSCtrlPost("coin/dh", (*web.ResumeCodeController).DuihuanCoinResume),
		// 简历兑换码
		beego.NSCtrlPost("template/code/dh", (*web.ResumeTemplateCodeController).DuihuanResumeTemplate),
		// 学习币兑换
		beego.NSCtrlPost("template/coin/dh", (*web.ResumeTemplateCodeController).DuihuanCoinResumeTemplate),
		// 保存
		beego.NSCtrlPost("template/saveupdate", (*web.ResumeTemplateController).SaveUpdateResumeTemplate),
		beego.NSCtrlPost("template/del", (*web.ResumeTemplateController).DelResumeTemplate),
		beego.NSCtrlPost("template/get/:resumeTemplateId", (*web.ResumeTemplateController).GetResumeTemplateId),
		beego.NSCtrlPost("template/getfile/:resumeTemplateId", (*web.ResumeTemplateController).GetResumeTemplateFile),
		beego.NSCtrlPost("template/getrfile/:resumeTemplateId", (*web.ResumeTemplateController).GetResumeTemplateReviewFile),
	)
	return namespace
}

/**
 * @author feige
 * @date 2023-10-14
 * @version 1.0
 * @desc  不需要登录
 */
func (router *ResumeRouter) InitNoLoginRouter() beego.LinkNamespace {
	// 用户中心--子命名空间
	namespace := beego.NSNamespace("/cresume",
		beego.NSCtrlPost("template/list", (*web.ResumeTemplateController).FindResumeTemplate),
	) // 查看课程的明细

	return namespace
}

/**
 * @author feige
 * @date 2023-10-14
 * @version 1.0
 * @desc  不需要登录
 */
func (router *ResumeRouter) InitAdminRouter() beego.LinkNamespace {
	// 用户中心--子命名空间
	namespace := beego.NSNamespace("/adminresume",
		// 查询列表
		beego.NSCtrlPost("/list", (*web.AdminResumeController).FindResumes),
		// 保存修改
		beego.NSCtrlPost("/saveupdate", (*web.AdminResumeController).SaveUpdateResume),
		// 修改状态
		beego.NSCtrlPost("/update/status", (*web.AdminResumeController).UpdateFieldById),
		// 保存兑换码
		beego.NSCtrlPost("/code/saveupdate", (*web.AdminResumeController).SaveUpdateCodes),
		// 查看兑换码
		beego.NSCtrlPost("/code/list", (*web.AdminResumeController).FindCodes),
		// 批量兑换
		beego.NSCtrlPost("/batch/users", (*web.AdminResumeController).BatchSaveOrders),
		// 修改兑换码
		beego.NSCtrlPost("/code/update/status", (*web.AdminResumeController).UpdateFieldByCodeId),
		// 删除兑换码
		beego.NSCtrlPost("/code/del/:id", (*web.AdminResumeController).DelCodeById),
		// 删除
		beego.NSCtrlPost("/del/:id", (*web.AdminResumeController).DelById),
		// 复制
		beego.NSCtrlPost("/copy/:id", (*web.AdminResumeController).CopyData),

		// 查询列表
		beego.NSCtrlPost("/template/list", (*web.AdminResumeTemplateController).FindResumes),
		// 修改状态
		beego.NSCtrlPost("/template/update/status", (*web.AdminResumeTemplateController).UpdateFieldById),
		// 保存兑换码
		beego.NSCtrlPost("/template/code/saveupdate", (*web.AdminResumeTemplateController).SaveUpdateCode),
		// 查看兑换码
		beego.NSCtrlPost("/template/code/list", (*web.AdminResumeTemplateController).FindCodes),
		// 批量兑换
		beego.NSCtrlPost("/template/batch/users", (*web.AdminResumeTemplateController).BatchSaveOrders),
		// 修改兑换码
		beego.NSCtrlPost("/template/code/update/status", (*web.AdminResumeTemplateController).UpdateFieldByCodeId),
		// 删除兑换码
		beego.NSCtrlPost("/template/code/del/:id", (*web.AdminResumeTemplateController).DelCodeById),
		// 删除
		beego.NSCtrlPost("/template/del/:id", (*web.AdminResumeTemplateController).DelById),
		// 复制
		beego.NSCtrlPost("/template/copy/:id", (*web.AdminResumeTemplateController).CopyData),
	)
	return namespace
}
